﻿using BenCaoXuan.Infrastructure.Attr;
using BenCaoXuan.Infrastructure.Dto;
using BenCaoXuan.Infrastructure.Dto.Admin.promotion;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BenCaoXuan.Service.Interface.admin
{
    [Provider_]
    public interface I_Promotion_Service
    {
        /// <summary>
        /// 新增佣金规则
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Add_Rules(AddRules_Dto dto);


        /// <summary>
        /// 获取推广信息
        /// </summary>
        /// <param name="fenye_Dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Commission(Fenye_Dto fenye_Dto);

        /// <summary>
        /// 通过规则类型获取对应的产品
        /// </summary>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_ProductByRulesType(int? value);
        /// <summary>
        /// 获取佣金规则
        /// </summary>
        /// <returns></returns>
        Task<Api_Result_Dto> Get_Rules();

        /// <summary>
        /// 发放佣金
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Grant_Commission(string? id, string? employeeID);

        /// <summary>
        /// 编辑佣金规则
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        Task<Api_Result_Dto> Update_Rules(UpdateRules_Dto dto);
    }
}
